package com.fengye.api.service;

import com.fengye.common.domain.MyPage;
import com.fengye.common.domain.entity.Article;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fengye.common.domain.vo.ArticleListVo;
import com.fengye.common.domain.vo.ArticleDetailVo;
import com.fengye.common.domain.vo.HotArticleVo;

import java.util.List;

/**
* @author sunlei
* @description 针对表【fy_article】的数据库操作Service
* @date 2024-02-25 01:00:31
*/
public interface ArticleService extends IService<Article> {

    /**
     * 查询热门文章
     * @return 热门文章
     */
    List<HotArticleVo> hotArticleList();

    /**
     * 分页查询文章列表
     * @param categoryId 文章分类id，可以为空
     * @param pageNum page
     * @param pageSize size
     * @return 文章列表分页数据
     */
    MyPage<ArticleListVo> articleList(Long categoryId, Integer pageNum, Integer pageSize);

    /**
     * 文章详情
     * @param id 文章id
     * @return 文章详情
     */
    ArticleDetailVo getArticleDetail(Long id);

    /**
     * 更新文章浏览量(redis)
     * @param id 文章id
     */
    void updateViewCount(Long id);
}
